package sgsi.util;

import java.util.Collection;
import java.util.Map;

import org.springframework.validation.Errors;
import org.springframework.validation.Validator;
import org.springmodules.validation.valang.ValangValidator;

public class SgsiValangValidator implements Validator {

	private Map<String, ValangValidator> mapaValidadores;

	public void setMapaValidadores(Map<String, ValangValidator> mapaValidadores) {
		this.mapaValidadores = mapaValidadores;
	}

	public void validate(Object target, Errors errors) {
		mapaValidadores.get(target.getClass().getCanonicalName()).validate(
				target, errors);
	}

	@SuppressWarnings("unchecked")
	public boolean supports(Class clazz) {
		Collection<ValangValidator> values = mapaValidadores.values();
		for (ValangValidator valangValidator : values) {
			if (valangValidator.supports(clazz)) {
				return true;
			}
		}
		return false;
	}

}
